package com.ctshk.rpc.order.custom.req.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 申请退款req
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-03-01
 */
@Data
@ApiModel(value="申请退款req", description="申请退款req")
public class CustomOrderTouristQuitAddReq implements Serializable {

    @ApiModelProperty(value = "ID")
    private Long id;

    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "订单ID",required = true)
    private Long orderId;

    @NotNull(message = "团期ID不能为空")
    @ApiModelProperty(value = "团期ID",required = true)
    private Long scheduleId;

    @NotNull(message = "旅客ID不能为空")
    @ApiModelProperty(value = "游客ID",required = true)
    private Long touristId;

    @NotNull(message = "扣款金额不能为空")
    @ApiModelProperty(value = "扣款金额",required = true)
    private BigDecimal deductionAmount;

    @NotNull(message = "退款金额不能为空")
    @ApiModelProperty(value = "退款金额",required = true)
    private BigDecimal refundAmount;

    @NotNull(message = "退款方式不能为空")
    @ApiModelProperty(value = "退款方式主数据ID",required = true)
    private Long refundTypeId;

    @NotNull(message = "退款方式不能为空")
    @ApiModelProperty(value = "退款方式",required = true)
    private String refundType;

    @NotNull(message = "退款账户不能为空")
    @ApiModelProperty(value = "退款账户",required = true)
    private String refundAccount;

    @NotNull(message = "币种ID不能为空")
    @ApiModelProperty(value = "币种ID",required = true)
    private Long currencyId;

    @NotNull(message = "币种不能为空")
    @ApiModelProperty(value = "币种",required = true)
    private String currency;

    @NotNull(message = "汇率不能为空")
    @ApiModelProperty(value = "汇率",required = true)
    private Double exchangeRate;

    @NotNull(message = "退团原因ID不能为空")
    @ApiModelProperty(value = "退团原因ID",required = true)
    private Long quitReasonId;

    @NotNull(message = "退团原因不能为空")
    @ApiModelProperty(value = "退团原因",required = true)
    private String quitReason;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "用户Id")
    private Long userId;
}
